MYF

CS193p-L1 Introduction to iOS 11, Xcode 9 and Swift 4

课程名称:Developing iOS 11 Apps with Swift
课程链接 https://itunes.apple.com/podcast/id1315130780

Tips

按住ctrl将控件拖入代码形成IBAction/Outlet
按住option 在方法上面hover会显示文档

按住command点击一个变量,可以批量修改变量名in the scope

init函数 可以有多个(配有不同argument) 但是每一个init必须初始化所有变量

语言特性:
1、Swift是一个extreme强调type的语言
2、如果没有制定类型,会自动infer

Optional是一个枚举类型,只有两个值:setnot set

常见问题

1、当复制一个控件的时候,该控件对于代码的连接也会被复制

2、类中所有元素必须要初始化,提示示例

Code

Array<UIButton> 相当于 [UIButton]

1
2
3
4
5
6
if let cardNumber = cardButtons.index(of: sender){ 
print("card number equals to \(cardNumber)")
}
else {
print("chosen card was not in Buttons")
}

解释:如果cardNumber可以有值,那么执行print("card number equals to \(cardNumber)")中的语句,值为找到的值。如果找不到值,则执行else语句

didSet

1
2
3
4
5
var flipCount = 0 {
didSet {
flipCountLable.text = "Flips: \(flipCount)"
}
}

说明:当flipCount变量值发生改变的时候,执行flipCountLable.text = "Flips: \(flipCount)"